<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
            /*
             * Peale php encodingu on html-i jaoks veel omaette reeglistik, kuidas
             * seal teatud tähesüsteemidesse mitte kuuluvaid, seega potentsiaalse
             * veaolukordade allikaks olevaid tähemärke kodeerida ja dekodeerida.
             * 
             * Näiteks oletame, et tahame tekstina väljastada mingit html-i tagi
             * ja vältida seda, et brauser seda hoopis koodi osana tõlgendab.
             * Teeme nii, et tahame väljastada tekstina tagi
             * <head>, mis viiks näiteks vastavat tagi tutvustava leheni.
             * 
             * Selline kuju korralikku linginime ei näitaks
             * <a href='http://www.w3schools.com/tags/tag_head.asp'><head> tagi tutvustav leht</a>
             * 
             * Toome aga lingi kuvatava osa php muutujasse ning seejärel, kui lingi teksti 
             * tahame kuvada mässime selle spetsiaalsesse html tähemärke töötlevasse
             * funktsiooni nimega htmlspecialchars()
             */
             
             $lingiTekst = "<head> tagi tutvustav leht";
        ?>
        
            <a href='http://www.w3schools.com/tags/tag_head.asp'>
                <?php echo htmlspecialchars($lingiTekst); ?>
            </a>
        
        
        
            <?php
                /*
                 * Võtame nüüd ühe näite peal kokku nii urlencodingu, rawurlencodingu
                 * ja htmlspecialchar() kodeerimiste kasutamise, kui ühtse terviku.
                 * 
                 * Tekitame endale mingi fiktiivse URL aadressi, kuhu paneme sihilikult
                 * ASCII tähesüsteemi mittekuuluvaid tähti. Samuti loome sellele lingile
                 * html-is lingi nime, milles kasutame samamoodi html-i jaoks 
                 * tähemärke, mille kuvamine nõuab eritingimusi
                 * 
                 * Meenutada tuli seda, et kõik, mis URL-i puhul jäi enne ? märki, 
                 * peab olema rawurlencoding() meetodi sees. Kõik, mis jäi url-i
                 * puhul peale ? märku (ehk url-i abil saadetavad andmed) tuli 
                 * kodeerida tavalise urlencoding() meetodi abil.
                 * 
                 * Eripärane html-i lingi tekst, tuleb kodeerida aga htmlspecialchar()
                 * funktsiooni abil. 
                 */
            
                $urlLehekylg = 'olensuvalineLeht/suva1/suva2/suvaline.php';
                $vaartus1 = 'Tavaline tühikute ja täpitähedega tekst';
                $vaartus2 = 'ASCII-sse ei kuulu<>&d$$<<<';
                $lingiTekstFiktiivseleLehele = 'vä<g>a <^^&imelik> v$$de';
                
                
                //Puhta ja reeglitepärast lingi saab nii
                $url = 'http://localhost/';
                //? märgist ettepoole jääv tekst rawurlencode() funktsiooniga korda!
                $url .= rawurlencode($urlLehekylg);
                //pärast ? märki tulev url urlencode() funktsiooniga korda
                $url .= '?voti1=' . urlencode($vaartus1);
                $url .= '&voti2=' . urlencode($vaartus2);
               
            ?>
            <br/>
                <!--Puhta, elemendis oleva url viite ja lingi nime saame html-i
                osas nii. Ära netBeansi pahandamist tähele pane!
                NB! See link ei vii kusalegi, kuid panna tähele, milliseks url 
                muutub!!!-->
            <a href='<?php echo htmlspecialchars($url); ?>'>
                <?php echo htmlspecialchars($lingiTekstFiktiivseleLehele); ?>
            </a>
                
    </body>
</html>
